In numerous industries, in particular in the fields of aviation or space, use is often made of virtual reality models. For example, a digital model is often used to evaluate interference between different parts.
In like manner, modeling can be used to simulate human actions in a defined environment in order to visualize the movements that a technician will need to perform in order to undertake such actions, for example. This is useful for validating and optimizing accessibility to certain parts of a machine, such as an airplane engine, that require regular inspections and maintenance. Thus, ease of access to the various elements of a machine can be monitored virtually as soon as the elements have themselves been modelled, by using a simulation involving a virtual dummy.
The use of a virtual dummy in this type of application is already known. One example is given in an article by Chedmail, Damay, and Le Roy, entitled “Réalité virtuelle, maquette numérique du produit, outils de distribution et partage de la conception” [Virtual reality, digital model of the product, distribution tools, and sharing design] (Journees Primeca, La Plagne, Apr. 7-9, 1999).
That article proposes a method of validating accessibility for mounting/removing an object in a congested environment by using a model for displacing a virtual dummy in a virtual environment.
A virtual dummy is a digital data set defining a dynamic system characterized by a plurality of members jointed to one another with a plurality of degrees of freedom.
Thus, at a given instant, the dummy can be defined by its overall position in a metric space and by values for the degrees of freedom of the joints. This data together with the parameters defining the environment of the dummy can be stored on a digital data medium.
The principle of the method proposed in the article by Chedmail et al. is based on using a system referred to as “multi-agent” system, as shown in FIG. 11.
The multi-agent system 500 comprises a set of active elements referred to as “agents” 210, 220, 230, 310, 320, and 330, which act on passive objects such as the members and the joints of a virtual dummy 100, while also taking account of its environment.
In that multi-agent system 500, the digital data defining the dummy 100 in its environment constitutes a kind of “blackboard” or “shared data” 150 through which the various agents 210, 220, 230, 310, 320, and 330 interact.
The agents are governed by behavior rules that are simple, but because of the interaction between them, complex collective behavior such as the movement of a dummy can be obtained.
Thus, the process of finding the path followed by the virtual dummy 100 is spread over the various agents 210, 220, 230, 310, 320, and 330 that are capable of acting on the dummy 100 as a function of the environment under consideration. Each agent calculates its own contribution to the overall position of the dummy 100 or to the degrees of freedom of its joints.
FIG. 11 shows a first attraction agent 220 which acts on the overall position of the dummy 100 and a second attraction agent 320 which acts on the plurality of degrees of freedom in the joints of the dummy 100. The purpose of the attraction agents 220 and 320 is to move the dummy 100 towards a well-defined target.
In addition, a first avoider agent 210 acts on the overall position of the dummy 100 and a second avoider agent 310 acts on the plurality of degrees of freedom of the joints of the dummy 100. The avoider agents 220 and 320 act as a function of parameters describing the environment to avoid collisions between the dummy 100 and the environment.
In addition, a first operator agent 230 acts on the overall position of the dummy 100 and a second operator agent 330 acts on the plurality of degrees of freedom of the joints of the dummy 100. The operator agents 230 and 330 enable an operator to act on the path followed by the dummy 100 in real time while the path is being generated.
During movement or manipulation of the dummy, the limits of the joints are normally taken into account. However, it is possible for any posture (within the limits imposed by the joints) to be taken up.
Thus, postures can be generated that are uncomfortable or even dangerous for real work performed by a human (see FIGS. 10A to 10D).
It is always possible to correct such bad postures a posteriori, but to do that it is necessary to proceed by successive approximations, with the resulting posture being evaluated on each occasion in order to obtain postures that are comfortable.